package com.yxw.yxnet_cd_center.customer_service.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

@Data
@ApiModel(value = "客服工作设置Vo", description = "客服工作设置详情")
public class UserWorkInfoVo {

    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id")
    private Long workId;

    /**
     * 客服id
     */
    @ApiModelProperty(value = "客服id")
    private Long userId;

    /**
     * 账号名称
     */
    @ApiModelProperty(value = "账号名称")
    private String userName;

    /**
     * 客服昵称
     */
    @ApiModelProperty(value = "客服昵称")
    private String nickName;

    /**
     * 所属群组名称
     */
    @ApiModelProperty(value = "所属群组名称")
    private String groupName;

    /**
     * 头像图片Id
     */
    @ApiModelProperty(value = "头像图片Id")
    private Long imageFileId;

    /**
     * 关闭会话后跳转排序 1：自动跳转等待最久的客户 0：手动选择下一个客户
     */
    @ApiModelProperty(value = "关闭会话后跳转排序 1=自动跳转等待最久的客户 0=手动选择下一个客户")
    private Integer closeType;

    /**
     * 历史客户置顶会话 0：关闭 1：开启
     */
    @ApiModelProperty(value = "历史客户置顶会话 0：关闭 1：开启")
    private Integer hisTopType;

    /**
     * 历史有效时间（小时）
     */
    @ApiModelProperty(value = "历史有效时间（小时）")
    private Integer hisTopTime;

    /**
     * 在线时最多可接待客户数
     */
    @ApiModelProperty(value = "在线时最多可接待客户数")
    private Integer maxNum;

    /**
     * 单聊消息声音提醒 0：关闭 1：开启
     */
    @ApiModelProperty(value = "单聊消息声音提醒 0：关闭 1：开启")
    private Integer oneSoundType;

    /**
     * 单聊消息弹窗提醒 0：关闭 1：开启
     */
    @ApiModelProperty(value = "单聊消息弹窗提醒 0：关闭 1：开启")
    private Integer oneBoxType;

    /**
     * 单聊消息短信提醒 0：关闭 1：开启
     */
    @ApiModelProperty(value = "单聊消息短信提醒 0：关闭 1：开启")
    private Integer oneSmsType;

    /**
     * 群聊消息声音提醒 0：关闭 1：开启
     */
    @ApiModelProperty(value = "群聊消息声音提醒 0：关闭 1：开启")
    private Integer groupSoundType;

    /**
     * 群聊消息弹窗提醒 0：关闭 1：开启
     */
    @ApiModelProperty(value = "群聊消息弹窗提醒 0：关闭 1：开启")
    private Integer groupBoxType;

    /**
     * 群聊消息短信提醒 0：关闭 1：开启
     */
    @ApiModelProperty(value = "群聊消息短信提醒 0：关闭 1：开启")
    private Integer groupSmsType;

    /**
     * 群聊消息提醒类型 0：提到我的 1：所有消息
     */
    @ApiModelProperty(value = "群聊消息提醒类型 0：提到我的 1：所有消息")
    private Integer messCallType;

    /**
     * 在线会话-客服欢迎语
     */
    @ApiModelProperty(value = "在线会话-客服欢迎语")
    private String welcomeOnline;

    /**
     * 会话超时时间
     */
    @ApiModelProperty(value = "会话超时时间")
    private Integer timeoutNum;

    /**
     * 客服在线开始时间
     */
    @ApiModelProperty(value = "客服在线开始时间")
    @JsonFormat(pattern = "HH:mm", timezone = "GMT+8")
    @DateTimeFormat(pattern = "HH:mm")
    private Date onlineStartTime;

    /**
     * 客服在线结束时间
     */
    @ApiModelProperty(value = "客服在线结束时间")
    @JsonFormat(pattern = "HH:mm", timezone = "GMT+8")
    @DateTimeFormat(pattern = "HH:mm")
    private Date onlineEndTime;

    /**
     * 客户短信提醒标记词
     */
    @ApiModelProperty(value = "客户短信提醒标记词")
    private String reminder;

    /**
     * 离线会话-客服欢迎语
     */
    @ApiModelProperty(value = "离线会话-客服欢迎语")
    private String welcomeOffline;

    /**
     * 客服离线开始时间
     */
    @ApiModelProperty(value = "客服离线开始时间")
    @JsonFormat(pattern = "HH:mm", timezone = "GMT+8")
    @DateTimeFormat(pattern = "HH:mm")
    private Date offlineStartTime;

    /**
     * 客服离线结束时间
     */
    @ApiModelProperty(value = "客服离线结束时间")
    @JsonFormat(pattern = "HH:mm", timezone = "GMT+8")
    @DateTimeFormat(pattern = "HH:mm")
    private Date offlineEndTime;
}
